今天要跟大家分享的是如何在实际图表场景中运用ggtech包的配色及主题,案例是关于全球互联网公司市值比较(数据皆为真实数据,来源于搜狐网)。
不过这个包依赖的ggplot2版本需要很高才能搭配使用(仔细了解了下,貌似要开发版的ggplot2)
所以在开始本篇分享之前,你需要保证自己已经下载了开发版的ggplot2包
devtools
curl
以上两个是下载开发版ggplot2的必备包
然后运行以下代码:
devtools::install_github('hadley/ggplot2')
也许会报错,你可能需要更新你的Rtools至最新版(Rtools34)。
如果实在没法下载成功开发版的ggplot2的话,也不要着急,据说ggplot2最新版本马上就要提供更新了,再稍微耐心等待几天,就会有更新提醒的。
因为基础的ggplot2语法已经介绍过了,这里我就不介绍具体步骤了,直接使用最终调试好的代码。
加载包:
library("ggplot2")
library("ggtech")
数据导入:
mydata <- read.table("clipboard", header = T, sep = '\t')
newdata<-mydata[1:5,]
柱形图(全球市值top5互联网公司 )
数据截止2015年,单位:十亿美元
Airbnb风格:
ggplot(newdata,aes(reorder(Name,-Value),Value,fill=Name))+geom_bar(stat="identity")+
theme_tech(theme="airbnb") +
scale_fill_tech(theme="airbnb") +
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
theme(axis.title = element_blank(),
legend.position=c(0.85,0.8)
)
Esty风格:
ggplot(newdata,aes(reorder(Name,-Value),Value,fill=Name))+geom_bar(stat="identity")+
theme_tech(theme="etsy") +
scale_fill_tech(theme="etsy") +
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
theme(axis.title = element_blank(),
legend.position=c(0.85,0.8)
)
Fackbook风格:
ggplot(newdata[1:4,],aes(reorder(Name,-Value),Value,fill=Name))+geom_bar(stat="identity")+
theme_tech(theme="facebook") +
scale_fill_tech(theme="facebook") +
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
theme(axis.title = element_blank(),
legend.position=c(0.85,0.8)
)
Google风格:
ggplot(newdata[1:4,],aes(reorder(Name,-Value),Value,fill=Name))+geom_bar(stat="identity")+
theme_tech(theme="google") +
scale_fill_tech(theme="google") +
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
theme(axis.title = element_blank(),
legend.position=c(0.85,0.8)
)
Twitter风格:
ggplot(newdata[1:4,],aes(reorder(Name,-Value),Value,fill=Name))+geom_bar(stat="identity")+
theme_tech(theme="twitter") +
scale_fill_tech(theme="twitter") +
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
theme(axis.title = element_blank(),
legend.position=c(0.85,0.8)
)
以下用饼图来呈现前五大互联网公司的相对市值大小:
Airbnb风格:
ggplot(newdata,aes(x=1,y=Value,fill=Name))+
geom_bar(stat="identity",color="white")+
theme_tech(theme="airbnb") +
scale_fill_tech(theme="airbnb") +
coord_polar(theta = "y",start=0)+
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.line=element_blank(),
legend.position=c(0.1,0.1)
)
Esty风格:
ggplot(newdata,aes(x=1,y=Value,fill=Name))+
geom_bar(stat="identity",color="white")+
theme_tech(theme="etsy") +
scale_fill_tech(theme="etsy") +
coord_polar(theta = "y",start=0)+
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.line=element_blank(),
legend.position=c(0.1,0.1)
)
Fackbook风格:
ggplot(newdata[1:4,],aes(x=1,y=Value,fill=Name))+
geom_bar(stat="identity",color="white")+
theme_tech(theme="facebook") +
scale_fill_tech(theme="facebook") +
coord_polar(theta = "y",start=0)+
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.line=element_blank(),
legend.position=c(0.1,0.1)
)
Google风格:
ggplot(newdata[1:4,],aes(x=1,y=Value,fill=Name))+
geom_bar(stat="identity",color="white")+
theme_tech(theme="google") +
scale_fill_tech(theme="google") +
coord_polar(theta = "y",start=0)+
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.line=element_blank(),
legend.position=c(0.1,0.1)
)
Twitter风格:
ggplot(newdata[1:4,],aes(x=1,y=Value,fill=Name))+
geom_bar(stat="identity",color="white")+
theme_tech(theme="twitter") +
scale_fill_tech(theme="twitter") +
coord_polar(theta = "y",start=0)+
labs(title="Top5 Internet Companies",
subtitle="Market value of Internet Co in 2015",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
axis.line=element_blank(),
legend.position=c(0.1,0.1)
)
接下来用国内BAT三巨头的连续7年市值数据制作堆积的粗边面积图:
数据来源于http://www.14du.com/ 截止2015年,单位:亿美元
导入数据:
mynewdata <- read.table("clipboard", header = T, sep = '\t')
使用reshape2包进行转置塑型:
library("reshape2")
newmydata <- melt(mynewdata, id.vars = c("Year"),variable.name = "Name", value.name = "Value")
粗边面积图:
Airbnb风格:
ggplot(newmydata,aes(Year,Value,group=Name,fill=Name))+
geom_area(position="stack")+
geom_line(col="grey60",size=2,position="stack")+
theme_tech(theme="airbnb") +
scale_fill_tech(theme="airbnb") +
labs(title="Three Big Giant of Internet Companies in China",
subtitle="Market value of Internet Co in China",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.title = element_blank(),
legend.position=c(0.2,0.6)
)
Esty风格:
ggplot(newmydata,aes(Year,Value,group=Name,fill=Name))+
geom_area(position="stack")+
geom_line(col="grey60",size=2,position="stack")+
theme_tech(theme="etsy") +
scale_fill_tech(theme="etsy") +
labs(title="Three Big Giant of Internet Companies in China",
subtitle="Market value of Internet Co in China",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.title = element_blank(),
legend.position=c(0.2,0.6)
)
Fackbook风格:
ggplot(newmydata,aes(Year,Value,group=Name,fill=Name))+
geom_area(position="stack")+
geom_line(col="grey60",size=2,position="stack")+
theme_tech(theme="facebook") +
scale_fill_tech(theme="facebook") +
labs(title="Three Big Giant of Internet Companies in China",
subtitle="Market value of Internet Co in China",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.title = element_blank(),
legend.position=c(0.2,0.6)
)
Google风格:
ggplot(newmydata,aes(Year,Value,group=Name,fill=Name))+
geom_area(position="stack")+
geom_line(col="grey60",size=2,position="stack")+
theme_tech(theme="google") +
scale_fill_tech(theme="google") +
labs(title="Three Big Giant of Internet Companies in China",
subtitle="Market value of Internet Co in China",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.title = element_blank(),
legend.position=c(0.2,0.6)
)
Twitter风格:
ggplot(newmydata,aes(Year,Value,group=Name,fill=Name))+
geom_area(position="stack")+
geom_line(col="orange",size=2,position="stack")+
theme_tech(theme="twitter") +
scale_fill_tech(theme="twitter") +
labs(title="Three Big Giant of Internet Companies in China",
subtitle="Market value of Internet Co in China",
caption = "http://www.sohu.com/")+
guides(fill=guide_legend(title=NULL))+
theme(
panel.grid=element_blank(),
panel.background=element_blank(),
axis.title = element_blank(),
legend.position=c(0.2,0.6)
)
真是不好意思,没有刹住车,糊里糊涂的就写了这么多,也没有对代码做简化了,其实核心代码我就写了三个,其他都是Ctrl+C、Ctrl+V不停地狂点鼠标。
这个ggtech包前天刚分享过的,配色上很惊艳,很有科技范,非常适合用在商业数据分析中,说不定还能给你的领导带来惊喜呢,还等什么呢,赶快来试一试吧!
声明:
本文为转载,已获得原作者授权
送福利啦!
☑ 长按文末二维码,关注EasyCharts公众号;
☑ 后台回复主“ 数据之美 ”电子杂志提前与书籍配套的Excel的文件源状语从句:EasyCharts插件的下载地址!
简介
本书主要介绍基于Excel的2016年的学术专业图表和商业图表的绘制方法,首次引入řGGPLOT2,Python的Seaborn,画面,D3.js,Matlab的2015年,产地等绘图软件的图表风格与配色方案,在无需编程的情况下,就能实现这些软件的图表风格;同时对比并总结了“华尔街日报”,“商业周刊”,“经济学人”等商业经典杂志的图表风格在详细地介绍散点图,柱形图,面积图,雷达图等基本图表的基础上,同时增加介绍了Excel中2016年新增的图表时,Excel加载项地图功率(地图绘制功能)和E2D3等的使用方法。
作者开发了一款与本书配套使用的Excel的插件EasyCharts,可以实现图表美化,新型图表绘制,颜色拾取,数据拾取,图像截取,数据分析与可视化等功能,插件交流群:454614789。
在公众号中回复“ 买书 ”,即可收到购买链接哦!